Recording medium storing slip data processing program, method of processing slip data, and slip data processing device

ABSTRACT

In a slip data processing program according to the present invention, in a first process step of a task executing a rule corresponding to an acquisition destination (action), data to be processed is collected into one. Also, when termination state information of one of the respective steps included in the task indicates a normal termination, information about the data processed in the step is deleted from a process execution state recording unit recording a process execution state of the step, and information about the data processed in the step is added to a process execution state recording unit of a step next to the step.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a recording medium storing a slip dataprocessing program, a method of processing slip data, and a slip dataprocessing device.

2. Description of the Related Art

Slip data is sometimes transmitted and received between systems. Asituation may arise when a system transmitting slip data and a systemreceiving the slip data use different formats of the slip, or atransmitting system has to transmit the slip data to a plurality ofreceiving systems, for example.

In the examples listed above, a device for conducting processes requiredfor the slip data is often provided between the transmitting system andthe receiving systems according to requirement regarding the slip data.

Frequently, it is required that the order of a slip is held amongsystems. Also, a redundant transmission, with a complete slip, and thesecureness of data taking actual operation into consideration issometimes required.

The patent document 1 which is a publication of the patent applicationby the present inventors discloses a technique where data is generatedby collecting slip data to each assigned unique number and a managementnumber, between a plurality of processes executed to the slip data, thecollected data is exchanged, and in the respective processes, thecollected data is divided into single slip data in order to beprocessed.

However, requirements for being real-time in a field such as EAI(Enterprise Application Integration) for example has become more strictin recent years, and a further accelerated process for slip data isdesired.

Patent Document 1

Japanese Patent Application No. 2005-301644 “Method, program, and devicefor multi processing slip”

SUMMARY OF THE INVENTION

An object of the present invention is to provide a recording mediumstoring a slip data processing program, a method of processing the slipdata, and a slip data processing device, by which processes that must beexecuted on slip data can be executed at high speed.

A recording medium according to a first aspect of the present inventionstores a slip data processing program for causing a computer to executeprocesses required for slip data that is acquired from an acquisitiondestination and transmitted to a transmission destination. The programcauses the computer to execute a step of generating a task for executinga rule corresponding to the acquisition destination based on a slip dataacquisition destination/execution process step recording unit whichmakes the acquisition destination of the slip data correspond to a ruleas a plurality of processes to be executed on slip data from anacquisition destination, a step of acquiring at least one slip data fromthe acquisition destination of the slip data, and of collecting the slipdata into one data at a time of execution of the task, a step ofconverting the collected data, and of determining an address based onthe content of the collected data, a step of transmitting the converteddata to the determined address, a step of setting termination stateinformation of processes of the respective steps of the collection, theconversion/address determination, and the transmission at prescribedpositions on the recording means, and a step of deleting informationabout data processed in step from a process execution state recordingunit recording a process execution state of the step when one of therespective steps setting the termination state information terminatesand the termination state information indicates a normal termination,and of adding the information about the data processed in the step to aprocess execution state recording unit of a step next to the step.

In the above task executing the rule corresponding to the acquisitiondestination, when termination state information of one of the respectivesteps (collection, conversion/address determination, and transmission)included in the task indicates the normal termination, the informationabout the data processed in the step is deleted from the processexecution state recording unit recording the process execution state ofthe step. The information about the data processed in the step is addedto a process execution state recording unit of the next step. Thus, itis possible to manage the executing states of the respective processsteps in the task. Accordingly, it is possible to pack the process stepsand execute them between the process steps in the task, for example, andto accelerate speed of processing of the slip data.

Also, in the fist process step in a task, the data to be processed iscollected into one, accordingly, it is enough to call the subsequentprocess only once for executing the process in the subsequent processstep. Therefore, it is possible to accelerate the speed of processingcompared to when there is a plurality of data to be processed and thesubsequent processes have to be called for each data.

Further, when the slip data from a plurality of acquisition destinationsis to be processed, if it is not necessary to secure order of the datato be processed among the acquisition destinations, it is possible toexecute the tasks corresponding to the acquisition destinationsasynchronously (in parallel). Accordingly it is possible to acceleratethe speed of the slip data processing.

In the above first aspect, a configuration can be employed where theplurality of the process execution state recording units arerespectively queues. Data corresponding to the information about theoldest data is executed in the process step only when an execution stateof information about the oldest data stored in the queue is a waitingstate.

By the above configuration, in each process in a task corresponding toone acquisition destination, the process avoids processing two datasimultaneously. It is possible to deliver to the transmitting system theslip data acquired from one slip data recording unit of the transmittingsystem while securing the order of the storage to the slip datarecording unit.

A method of processing slip data in which a computer executes processesrequired for slip data, which is acquired from an acquisitiondestination and transmitted to a transmission destination, according toa second aspect of the present invention is comprised of a step ofgenerating a task for executing a rule corresponding to the acquisitiondestination based on a slip data acquisition destination/executionprocess step recording unit, which makes the acquisition destination ofthe slip data correspond to a rule as a plurality of processes to beexecuted on slip data from an acquisition destination, a step ofacquiring at least one slip data from the acquisition destination of theslip data, and of collecting the slip data into one data at whenexecuting the task, a step of converting the collected data and ofdetermining an address based on a content of the collected data, a stepof transmitting the converted data to the determined address, a step ofsetting termination state information of processes of the respectivesteps of the collection, the conversion/address determination, and thetransmission at prescribed positions on the recording means, and a stepof deleting information about data processed in step from a processexecution state recording unit recording a process execution state ofthe step when one of the respective steps setting the termination stateinformation terminates and the termination state information indicates anormal termination, and of adding the information about the dataprocessed in the step to a process execution state recording unit of astep next to the step.

A slip data processing device executing processes required for slipdata, which is acquired from an acquisition destination and transmittedto a transmission destination, according to a third aspect of thepresent invention is comprised of a process execution unit forgenerating a task of executing a rule corresponding to the acquisitiondestination based on a slip data acquisition destination/executionprocess step recording unit, which makes the acquisition destination ofthe slip data correspond to a rule as a plurality of processes to beexecuted on slip data from an acquisition destination, and for executingthe generated task, in which the process execution unit executes a stepof acquiring at least one slip data from the acquisition destination ofthe slip data, and collecting the slip data into one data at a time ofexecution of the task, a step of converting the collected data and ofdetermining an address based on a content of the collected data, a stepof transmitting the converted data to the determined address, a step ofsetting termination state information of processes of the respectivesteps of the collection, the conversion/address determination, and thetransmission at prescribed positions on the recording means, and inwhich the slip data processing device is further comprised of aplurality of process execution state recording units for recordingprocess execution states of the respective steps setting the terminationstate information, information about data processed in step is deletedfrom a process execution state recording unit of the step when one ofthe respective steps of setting the termination state informationterminates and the termination state information indicates a normaltermination, and the information about the data processed in the step isadded to a process execution state recording unit of a step next to thestep.

In the present invention, in the first step of a task, the data to beprocessed is collected into one. Accordingly, it is sufficient to callthe subsequent process only once for executing the process in thesubsequent process step. Therefore, it is possible to accelerate thespeed of processing, compared to the case that there is a plurality ofdata to be processed and the subsequent processes have to be called foreach data.

Therefore, it is possible to manage the execute states of the respectiveprocess steps in one task. Accordingly, it is possible to pack theprocess steps and execute them between the process steps in the task,for example, and to accelerate speed of the slip data processing.

Further, as in the case that the slip data from a plurality ofacquisition destinations are to be processed, if it is not necessary tosecure order of the data to be processed among the acquisitiondestinations, it is possible to execute the tasks corresponding to theacquisition destinations asynchronously (in parallel). Accordingly it ispossible to accelerate the speed of the slip data processing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a configuration of a slip process system according to anembodiment of the present invention;

FIG. 2 shows an example of a plurality of processes (applied rules) tobe executed corresponding to an action by a process determination unitof FIG. 1;

FIG. 3A shows a data configuration (No. 1) of the definition informationrecording unit of FIG. 1;

FIG. 3B shows a data configuration (No. 2) of the definition informationrecording unit of FIG. 1;

FIG. 4 shows the process execution state recording unit of FIG. 1 inmore detail;

FIG. 5 shows a data configuration of the slip data stored in the slipdata recording unit of a transmitting system;

FIG. 6 is a flowchart of a monitor process executed by the monitorprocess control unit of FIG. 1;

FIG. 7 is a flowchart showing processes executed by the processexecution unit of FIG. 1 when the respective process step in a taskterminates;

FIG. 8 shows processes executed by the process execution unit of FIG. 1when an error occurs in a transmission process;

FIG. 9 is a flowchart of processes executed by the respective processsteps included in a task;

FIG. 10A shows a data configuration of data output as a result of acollection process by the task, including the collection process, adistribution process, a conversion process, and a transmission process;

FIG. 10B shows a data configuration of data output as the result of thedistribution process by the task including the collection process, thedistribution process, the conversion process, and the transmissionprocess;

FIG. 10C shows a data configuration of data output as the result of theconversion process by the task including the collection process, thedistribution process, the conversion process, and the transmissionprocess;

FIG. 11 explains the operations of the system of FIG. 1; and

FIG. 12 shows an example of a recording medium.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Hereinbelow, the embodiments of the present invention will be explainedin detail by referring to the drawings.

In the explanations below, “slip data” is data transmitted and receivedamong systems conducting any kind of business. Slip data includes anykind of data including data such as issue of order, reception of order,sales in a company and the like, and also data of drawings and the like.The slip data can be a single slip, i.e., can be one data, and also canbe in a collected state, i.e., in a state that a plurality of singleslip data are collected into one data.

For example, in slip data recording units 11 ₁ and 11 ₂ of FIG. 1 (whichwill be explained later), a single slip data and collected data arestored as slip data after being output from corresponding systems. Aprocess execution unit 18 of FIG. 1 executes a (further) collectionprocess on the slip data (single slip data or collected data) acquiredfrom the slip data recording units 11 ₁ and 11 ₂ in a first step of anapplied rule.

FIG. 1 shows a configuration of a slip process system according to anembodiment of the present invention.

As shown in FIG. 1, a slip process system comprises transmitting systems12 ₁ and 12 ₂ respectively, including the slip data recording units(slip data storage queues) 11 ₁ and 11 ₂ which can store a plurality ofslip data, a definition information recording unit 14 for recordingdefinition information such as an action as discrimination informationfor correspondence between an acquisition destination (slip datarecording unit of transmitting system) of the slip data and a group oftransmission destinations (slip data recording units) to which the slipdata acquired from the acquisition destination is transmitted after theprocess, a rule as a plurality of processes to be executed on the slipdata from the acquisition destination, which is determined for theaction via a process determination unit 19 (which will be explainedlater), a monitor process control unit 15, based on the definitioninformation recording unit 14, for generating as many monitor processesfor monitoring the slip data recording units as the slip data recordingunits to be monitored and for monitoring the storage status of the slipdata in the slip data recording units to be monitored via the generatedmonitor processes (in the figure, monitor processes 13, and 132 are theprocesses for monitoring the slip data recording units 11 ₁ and 11 ₂), aprocess determination unit 19, which is a user interface for proposingone or more rules, each of which is a plurality of processes that can beexecuted on the slip data from the acquisition destination for theactions corresponding to the slip data recording unit to be monitored(acquisition destination of slip data), and for determining one rule (aplurality of processes) to be executed using an instruction made by auser among the above one or more rules, based on the definitioninformation recording unit 14, a task generation unit 16 for generatinga task (in the figure, a task 17, is the task to be executed on the slipdata acquired from a slip data recording unit 11 ₁, and a task 17 ₂ isthe task to be executed on the slip data acquired from a slip datarecording unit 11 ₂) executing the process determined for the slip databased on information regarding one or more slip data notified andacquired from a monitor process of the monitor process control unit 15,and on the definition information recording unit 14 when the process onthe slip data of an action starts (when the slip data is acquired forthe first time), and also for notifying the corresponding process in thegenerated task of the information regarding at least one slip datanotified and acquired from the monitor process of the monitor processcontrol unit 15 when the slip data is acquired for the first time andlater, and a process execution unit 18 for executing the task generatedby the task generation unit 16, and for transmitting the slip data ofthe process result of the task to a slip data recording unit (not shown)of receiving system(s) (not shown).

The slip data recording units 11 ₁ and 11 ₂ are queues which output aplurality of slip data in accordance with the order of storage (FIFO(First-In First-Out).

Many of the respective processes are routine processes that constitutethe tasks generated correspond to the action. Representative patternsare prepared for the order of the processes.

FIG. 2 shows an example of the plurality of processes (applied rule) tobe executed corresponding to the action by a process determination unit16 of FIG. 1. In other words, FIG. 2 shows an example of the pluralityof processes (applied rule or task) to be executed by the taskgeneration unit 16 on the slip data acquired from the slip datarecording unit of the transmitting system corresponding to the action.

In FIG. 2, “Collection” is defined as collecting at least one slip dataacquired from the slip data recording unit of the transmitting systeminto one data. Note that the respective slip data acquired can be asingle slip data, or can be data made by collecting a plurality ofsingle data. Also, “Division” is to divide the collected data intosingle slip data.

“Conversion” is defined as converting data formats of the transmittingsystem so that the transmitting system uses the same format as thereceiving system when the transmitting system and the receiving systemuse different formats of data.

“Distribution” is defined as gathering the single slip data for eachtransmission destination when there are a plurality of transmissiondestinations of the slip data (including the case that there aredifferent destinations for respective single slip data included in theslip data). Or, it means to generate as many data as there aretransmission destinations by copying the respective data when the datais to be broadcasted to a plurality of transmission destinationsdesignated.

“Transmission” is defined as transmitting to the “Designatedtransmission destination” the slip data processed. The “Designatedtransmission destination” is either one of the transmission destinationdesignated in the action, which is the discrimination informationregarding the link between one slip data recording unit of thetransmitting system and one or more slip data recording unit(s) of thereceiving system(s).

The above “Designated transmission destination” information is set forthe first time in the data of the process result of the “Distribution”process or the “Conversion” process when the process is executed by theprocess execution unit 18. An example of such case is that thetransmission destination is determined by referring to a company nameincluded in the slip data in the distribution process.

The respective processes of the above “Collection”, “Division”,“Conversion”, “Distribution”, and “Transmission” are respectively commonamong all the rules. The respective process of the “Collection”,“Division”, “Conversion”, “Distribution”, and “Transmission” recognizethe rule the process itself belongs to based on the group of theparameter given.

For example, in FIG. 1, the data collection process, the datadistribution process, the data conversion process, and the datatransmission process are executed on the slip data acquired from theslip data recording unit 111. Among these processes, for the datacollection process, the data conversion process, and the datatransmission process, either one of the task 17, or of the task 172 canbe used. The task process designated by the process execution unit 18executes the data collection process, the data conversion process, andthe data transmission process.

FIG. 3A shows a data configuration (No. 1) of the definition informationrecording unit 14 of FIG. 1.

As shown in FIG. 3A, the definition information recording unit 14 iscomprised of items of action name, input queue name, max multiplexingdegree, max acquisition number, and time width.

The “Action name” is discrimination information for the link between oneinput queue (slip data recording unit of transmitting system) and atleast one output queue (slip data recording unit of the receivingsystem) as described above.

The “Input queue name” is discrimination information (ID or number) ofthe input queue corresponding to the action. In the “Max multiplexingdegree”, the number of steps included in the applied rule (taskgenerated on the process execution unit 18) is set.

For example, when a process step A in the rule corresponding to anaction terminates in regards to the slip data “Data 1” of the action,then for the slip data “Data1”, a process step B, which is the nextprocess step in the rule, is executed, and then for the slip data “Data2” next to the slip data “Data1”, the process step A is executed.Thinking in this way, it is possible to process the data in a group andpacked, acquired from the input queue of the corresponding action, asmany times as the process steps included in the rule corresponding tothe action. The above “max multiplexing degree” is the value indicatingthe maximum number of the processes that can be packed at one time inthe rule (task). The value is usually the same as the number of theprocess steps.

The “Max acquisition number” is the upper limit value of the number ofthe slip data acquired from the input queue (slip data recording unit oftransmitting system). This value may be changed when the acquired slipdata has a group property.

“Time width” is the value indicating the time before monitoring on theinput queue restarts when it is assumed that so many slip data are notstored in the input queue.

FIG. 3B shows a data configuration (No. 2) of the definition informationrecording unit 14 of FIG. 1.

In FIG. 3B, the actions and the rules correspond to each other. FIG. 3Bshows, for example, that discrimination information of action (ACT001)is assigned to link between the input queue (QUEUE 001) and the outputqueues (QUEUE 002 and QUEUE 003), and that a user caused this action andthe rule (RULE 001) to correspond with each other via a user interface(task generation unit 16 of FIG. 1).

In the action (ACT001) of FIG. 3B, there are two queues (QUEUE 002 andQUEUE 003) for receiving data. Accordingly, a list of rules includingthe “Distribution” process among the rules shown in FIG. 2 is shown tothe user through the task generation unit 16, for example, and one ruleon the list is selected by the user.

Although it is not shown in FIG. 3B, the respective rules set in theitem of the rule name are liked with a plurality of processes includedin the rule and with information indicating the order of execution ofthe processes.

Again, FIG. 1 is explained.

A process execution state recording unit 21 in FIG. 1 stores theexecution state of the process in respective process execution staterecording units (a collection process execution state recording unit 23₁, a distribution process execution state recording unit 23 ₂, aconversion process execution state recording unit 23 ₃, a transmissionprocess execution state recording unit 23 ₄) regardless of the tasks theprocesses belong to if the processes have the same name. In other words,the process execution state recording unit 21 stores the states of allthe processes in at least one task executed by the process executionunit 18.

FIG. 4 shows the process execution state recording unit 21 of FIG. 1 inmore detail.

As shown in FIG. 4, each process execution state recording unit iscomprised of action name, arrival time, execution state, pointer todata, and pointer to information about the data. Each row in FIG. 4 iffor information regarding data being processed or to be processed in therespective processes.

In the item of “Execution state”, one of two states of “Executing” and“Wait” is set. Also, the “Pointer to data” is the top address of processresult data in a previous process.

Specifically, when the value of the item of “Execution state” is“Executing”, the process in the current process step on the data whosetop address is set in the item of “Pointer to data” is executed. Whenthe value of the item of “Execution state” is “Wait”, the process in thecurrent process step on the data, whose top address is set in the itemof “Pointer to data”, is not executed yet (waiting for execution).

For example, the collection process, the conversion process, and thetransmission process are common for the two actions (ACT0001 andACT002). Accordingly, in the execution state recording units (executionstate storage queues) of the collection process, the conversion process,and the transmission process, there is data from the action ACT001 andthe action ACT002. However, the distribution process is only in theaction ACT001. In the execution state recording unit (execution statestorage queue) of the distribution process, there is only the data ofaction ACT001.

The “Arrival time” is the item indicating the time at which the row(information about data) is written to the process execution staterecording unit of the corresponding process. Also, the “Pointer toinformation about data” is the pointer provided between the respectiverows in the order of arrival time. Through this pointer, the processexecution state recording units corresponding to the respectiveprocesses can constitute queues.

FIG. 5 shows a data configuration of the slip data stored in the slipdata recording unit of the transmitting system.

As shown in FIG. 5, in the slip data recording unit of the transmittingsystem, the slip data is comprised of a message header and a message.

A message identifier in the message header is an identifier (number)that is uniquely assigned to the slip data. The identifier is written toa corresponding section of the slip data header by a queue managementunit (not shown in FIG. 1) for managing the slip data recording unit(input queue) of the transmitting system.

A transaction termination indication in the message header is flaginformation specifying if the slip data has a group property, and isflag information specifying if there is subsequent slip data belongingto the same group when the slip data has the group property.Specifically, the transaction termination indication can have the threevalues below.

value at the time of initialization: the slip data does not have thegroup property

0: the slip data has the group property, and there is the subsequentslip data belonging to the same group

1: the slip data has the group property, and the group terminates withthis slip data.

FIG. 6 is a flowchart of the monitor process executed by the monitorprocess control unit 15 of FIG. 1. The monitor process control unit 15activates the monitor process for each action. However, the processes ofthis flowchart are executed by the monitor process activated for eachaction.

In FIG. 6, first in step S101, the monitor process checks if theprocesses through the last processes (transmission process) areterminated regarding the precedent data in the same action by referringto the flag information located at the prescribed position in memory.When the flag indicating that the processes through the transmissionprocess regarding the precedent data are terminated is set at theposition in the memory, the monitor process decrements, by one, themultiplexing degree indicating the number of the process currentlypacked among the plurality of processes determined to be executed.

In the subsequent step S102, it is determined if the currentmultiplexing degree is smaller than the max multiplexing degree.

When it is determined that the current multiplexing degree is equal toor greater than the max multiplexing degree in the step S102, theprocess returns to the step S101 after the idle state for a prescribedtime period in the step S108.

When it is determined that the current multiplexing degree is smallerthan the max multiplexing degree in step S102, the number of the slipdata (the slip data which is not acquired) held in a slip data recordingunit 11 of the transmitting system 12 is obtained in the step S103.

Then, in step S104, it is determined if the obtained number of the slipdata is equal to or greater than one.

When it is determined that the obtained number of the slip data is zero,i.e., it is determined that there is no new slip data in the slip datarecording unit 11 in the step S104, the process returns to the step S101after the idle state for a prescribed time period in the step S108.

When it is determined that the obtained number of the slip data is equalto or greater than one, information about new slip data held in the slipdata recording unit 11 is acquired with the max acquisition number asthe limit of the acquisition. However, when the group property isassigned to the slip data, information about the new slip data beforethe first vacancy (through the max acquisition number if the vacancycorresponds to the max acquisition number) of the groups after the maxacquisition number is acquired.

Then, the task generation unit 16 is notified of the information aboutthe new slip data acquired, and the above multiplexing degree isincremented by one in step S106.

In a step S107, it is determined if the number of the new slip dataacquired in the step S105 is equal to or greater than the maxacquisition number.

In a step S107, when it is determined that the number of the new slipdata acquired in the step S105 is smaller than the max acquisitionnumber, the process returns to the step S101 after the idle state for aprescribed time period in the step S108.

When it is determined that the number of the new slip data acquired inthe step S105 is equal to or greater than the max acquisition number instep S107, the process immediately returns to step S101, but not throughstep S108. This is because it is assumed that the acquisition of theslip data equal to or greater in number than the max acquisition numberin the step S105 means the probability that there is the slip data yetto be processed in the slip data recording unit 11.

In a step S106, the task generation unit 16, which has been notified ofthe information about the new slip data acquired, executes the processesbelow.

1: When the acquired information about the new slip data is the one atthe time of the start of the target action, a task for executing therule corresponding to the action is generated based on the informationabout the new slip data and on the definition information recording unit14. The first process (collection process) in the generated task isnotified of the information about the new slip data. The collectionprocess acquires the new slip data included in the notified informationfrom the slip data recording unit of the transmitting system.

2: When the acquired information about the new slip data is not the oneat the time of the start of the target action, the task generation unit16 notifies the fist process (collection process) in the correspondingtask of the notified information about the new slip data.

FIG. 7 is a flowchart showing processes executed by the processexecution unit 18 of FIG. 1 when the respective process step in a taskterminates.

The respective processes in the task (collection process, distributionprocess, division process, conversion process, transmission process andthe like) set the flag information indicating the termination state ofthe process themselves in memory with the prescribed addresses. Theprocess execution unit 18 acquires the list of the termination stateflags of all the processes, included at least one task being executed,in step S201.

Then, in step S202, regarding the respective flag information includedin the acquired list of the flag of the termination state, it isdetermined if the value is normal.

When there is a flag that is not determined to be normal termination inthe step S202, i.e., when there is a process which erroneouslyterminated, the process execution unit 18 suspends the process(including the extraction of the slip data from the input queue) beforethe process which erroneously terminated in the task to which theerroneously terminating process belongs. A user restarts this task fromthe data position where the erroneously terminating process wasprocessing, after the error recovery.

Then, (when there is another executing task), the process returns to thestep S201.

When there is the flag determined to be normal termination in the stepS202, the process execution unit 18 deletes information about dataprocessed by the normally terminating process from the process executionstate recording unit (execution state storage queue) of the normallyterminating process.

Then, in the step S205, the process execution unit 18 adds informationabout the data processed by the normally terminating process to the lastof the process execution state recording unit (execution state storagequeue) of the next process based on the execution order of therespective processes in the task to which the normally terminatingprocess belongs. Then, the process returns to the step S201.

Therefore, it is possible to manage the execution state of therespective steps in one task. Accordingly, it is possible to pack theprocess steps and execute them between the process steps in the task,for example, and to accelerate the speed of the slip data processing.

In FIG. 8, an error occurred in a transmission process. Specifically,when it is determined that the error has occurred in the transmissionprocess based on the termination state flag in (1), the subsequentprocess is suspended in the task to which the erroneously terminatingprocess (transmission process) belongs in (2), and also, the collectionprocess in the task to which the erroneously terminating process(transmission process) belongs suspends to acquired the slip data fromthe input queue (slip data recording unit of the transmitting system,slip data storage queue of the transmitting system) of the task.

As shown in FIG. 8, there is also a check process among the processesexecuted on the slip data. In this check process, when bill data isprocessed as slip data, for example, it can be the item to be checked ifthere is the consistency between the unit price and the quantity, or thelike. The contents of the check executed in the check process depend onthe kind of the slip data to be processed, usually.

FIG. 9 is a flowchart of processes executed by the respective processsteps included in the task.

First in FIG. 9, in step S301, information about respective actions datain the corresponding execution state storage queue (process executionstate recording unit) is retrieved. Then, the process branches inaccordance with the value set as the execution state of the informationwith the oldest arrival time of FIG. 4 among the information of the dataof the action, regarding the respective actions.

Specifically, in step S301, when the execution state of the informationabout the data with the oldest arrival time of the action is“Executing”, the process returns to the step S301 after the idle statefor the prescribe time period in the step S305.

When the execution state of the information about the data with theoldest arrival time of the action is “Wait”, the execution state of theinformation about the data with the oldest arrival time of the action ischanged to “Executing” in the step S302, and then in step S303, the datacorresponding to the information about the data (in the execution statestorage queue) whose execution state is changed to “Executing” is input,and the process to be executed (collection, distribution, conversion,transmission or the like) in the process itself is executed.

When the process to be executed terminates, in step S304, thetermination state flag is set at the prescribed position on memory(address), and the process returns to the step S301 after the idle statefor a prescribed time period in the step S305.

Also, when there is not information about data in the correspondingexecution state storage queue in the step S301, the process proceeds tostep S305.

As above, for each action, only when the execution state of theinformation about the oldest data stored in the execution state storagequeue is “Waiting”, the process step is executed on the datacorresponding to the information about the oldest data. Therefore, eachprocess in the task corresponding to one action avoids processing twodata simultaneously, and it is possible to deliver to the receivingsystem(s), the slip data acquired from one slip data recording unit ofthe transmitting system while securing the storage order to the slipdata recording unit.

FIG. 10A shows a data configuration of data output as the result of thecollection process by the task including the collection process, thedistribution process, the conversion process, and the transmissionprocess.

As shown in FIG. 10A, the result data of the collection process includesan address, a header section, and a data section.

In FIG. 10A, five slip data (whose IDs (slip unique number) arerespectively A00001, B00011, B00012, B00013, and A00002) are acquiredfrom the slip data storage queues of the transmitting system, and arecollected into one data in the collection process. Among these fivedata, the slip data designated by the IDs of “B00011”, “B00012”, and“B00013” belong to the group with a group number G0000100. The datasections (for example business data) included in these five slip datacan be in a fixed length or can be in a variable length and areseparated by control characters (in the figure, line feeds are used,however, the separations between the slips can be recognized by settingthe data length in place of the line feeds). Also, at the time of thecollection process, effective data is not usually set in the item of theaddress.

Also, in FIG. 10A, the items in the data sections, “slip 1”, “slip 2”,“slip 3”, “slip 4”, and “slip 5” express data sections of the slip datarespectively with the IDs of A00001, B00011, B00012, B00013, and A00002.

FIG. 10B shows a data configuration of data output as the result of thedistribution process by the task including the collection process, thedistribution process, the conversion process, and the transmissionprocess.

In FIG. 10B, as the result of the distribution process, five slip dataincluded in the data of FIG. 10A are distributed to three slip data(three slip data having IDs of B00011, B00012, and B00013) to betransmitted to the address of “outnode1”, and are distributed to twoslip data (two slip data having IDs of A00001 and A00002) to betransmitted to the address of “outnode2”.

In this distribution process, the address (output queue) is set byreferring to the company name or the like included in the data sectionfor example. The address setting process is usually executed at the timeof the distribution or the conversion process. However, in the taskincluding both the distribution process and the conversion process, theaddress determined in the distribution process has the priority, forexample.

FIG. 10C shows a data configuration of data output as the result of theconversion process by the task including the collection process, thedistribution process, the conversion process, and the transmissionprocess.

In FIG. 10C, the data sections of the slip data with the IDs of B00011,B00012, and B00013 are converted from “slip 2”, “slip 3”, and “slip 4”to “slip 2′”, “slip 3′”, and “slip 4′” as the result of the conversionprocess. Also, the data sections of the slip data having the IDs ofA00001 and A00002 are converted from “slip 1” and “slip 5” to “slip 1′”and “slip 5′” as the result of the conversion process. Additionally,value, position, length, character code and the like of the data of thedata section can be changed by the conversion process.

The transmission process transmits the sections other than the addressafter the conversion process of FIG. 10C, to the transmissiondestination(s) specified by the address. In this example, the slip datais collected and transmitted (as one data) to two destinations. However,it is possible that the slip data is divided into single slip data andtransmitted, depending on the rule (task).

FIG. 11 explains the operations of the system of FIG. 1.

In FIG. 11, data extracted from input queues 31 and 32 provided in thetransmitting system via the monitor process control unit 15 areprocessed in parallel (asynchronously). Since the action correspondingto the input queue 31 is different from the action corresponding to theinput queue 32, the asynchronous process as above can be executed.

In the above, as shown in FIG. 11, it is explained that the slip dataextracted from a plurality of the input queues are processedasynchronously by the process execution unit 18. However, the situationcan take place where there is naturally only one input queue as thetarget. It is needless to mention that the corresponding task can beexecuted on the slip data extracted from the one input queue by theprocess execution unit 18 in that case.

FIG. 12 shows an example of a recording medium.

The respective processes executed on the slip data, according to thepresent invention, can be realized by an information processing device61. It is possible to execute the program and data for the process ofthe present invention by loading the program and data to memory of theinformation processing device 61 from a recording device 65 of theinformation processing device 61, to execute them by loading them ontothe memory of the information processing device 61 from a portablerecording medium 63, and to execute them by loading them to the memoryof the information processing device 61 from an external recordingmedium 62 via a network 66.

1. A recording medium storing a slip data processing program causing acomputer to execute processes required for slip data, which is acquiredfrom an acquisition destination and transmitted to a transmissiondestination, wherein the program causes the computer to execute: a stepof generating a task for executing a rule corresponding to theacquisition destination based on a slip data acquisitiondestination/execution process step recording unit that makes theacquisition destination of the slip data correspond to a rule as aplurality of processes to be executed on slip data from an acquisitiondestination; a step of acquiring at least one slip data from theacquisition destination of the slip data and of collecting the slip datainto one data at a time of execution of the task; a step of convertingthe collected data and of determining an address based on the content ofthe collected data; a step of transmitting the converted data to thedetermined address; a step of setting termination state information ofprocesses of the respective steps of the collection, theconversion/address determination, and the transmission at prescribedpositions on the recording unit of the computer; and a step of deletinginformation about data processed in a step from a process executionstate recording unit recording a process execution state of the stepwhen one of the respective steps of setting the termination stateinformation terminates, and the termination state information indicatesa normal termination, and of adding the information about the dataprocessed in the step to a process execution state recording unit of astep next to the step.
 2. The recording medium of the slip dataprocessing program according to claim 1, wherein: the plurality of theprocess execution state recording units are respectively queues, andonly when an execution state of information about the oldest data storedin the queue is a waiting state, data corresponding to the informationabout the oldest data is executed in the process step.
 3. The recordingmedium of the slip data processing program according to claim 1,wherein: the program further comprises a step of monitoring the slipdata acquisition destination and notifying the collection step ofinformation about slip data newly stored in the acquisition destination,and the newly stored slip data, which the collection step is notifiedof, is acquired from the acquisition destination, and the collectionstep is executed.
 4. The recording medium of the slip data processingprogram according to claim 1, wherein: the program further comprises afirst distribution step for collecting slip data for each transmissiondestination when there are a plurality of transmission destinations ofslip data included in data to be processed.
 5. The recording medium ofthe slip data processing program according to claim 1, wherein: theprogram further comprises a second distribution step for generating asmany respective data as the number of transmission destinations by meansof copying when data to be processed is broadcasted to a plurality oftransmission destinations.
 6. A method of processing slip data in whicha computer executes processes required for slip data, which is acquiredfrom an acquisition destination and transmitted to a transmissiondestination, comprising: a step of generating a task for executing arule corresponding to the acquisition destination based on a slip dataacquisition destination/execution process step recording unit that makesthe slip data acquisition destination correspond to a rule as aplurality of processes to be executed on slip data from an acquisitiondestination; a step of acquiring at least one slip data from the slipdata acquisition destination, and of collecting the slip data into onedata at a time of execution of the task; a step of converting thecollected data and of determining an address based on a content of thecollected data; a step of transmitting the converted data to thedetermined address; a step of setting termination state information ofprocesses of the respective steps of the collection, theconversion/address determination, and the transmission at prescribedpositions on the recording unit of the computer; and a step of deletinginformation about data processed in a step from a process executionstate recording unit recording a process execution state of the stepwhen one of the respective steps for setting the termination stateinformation terminates and the termination state information indicates anormal termination, and of adding the information about the dataprocessed in the step to a process execution state recording unit of astep next to the step.
 7. The method of processing slip data accordingto claim 6, wherein: the plurality of the process execution staterecording units are respectively queues, and only when an executionstate of information about the oldest data stored in the queue is awaiting state, data corresponding to the information about the oldestdata is executed in the process step.
 8. The method of processing slipdata according to claim 6, further comprising: a step of monitoring theslip data acquisition destination and of notifying the collection stepof information about slip data newly stored in the acquisitiondestination, wherein: the newly stored slip data, which the collectionstep is notified of, is acquired from the acquisition destination andthe collection step is executed.
 9. A slip data processing deviceexecuting processes required for slip data, which is acquired from anacquisition destination and transmitted to a transmission destination,comprising: a process execution unit for generating a task of executinga rule corresponding to the acquisition destination based on a slip dataacquisition destination/execution process step recording unit that makesthe acquisition destination of the slip data correspond to a rule as aplurality of processes to be executed on slip data from an acquisitiondestination, and for executing the generated task; wherein: the processexecution unit executes: a step of acquiring at least one slip data fromthe acquisition destination of the slip data and of collecting the slipdata into one data at a time of execution of the task; a step ofconverting the collected data and determining an address based on thecontent of the collected data; a step of transmitting the converted datato the determined address; a step of setting termination stateinformation of processes of the respective steps of the collection, theconversion/address determination, and the transmission at prescribedpositions on the terminate state recording unit; and wherein: the slipdata processing device further comprises: a plurality of processexecution state recording units for recording process execution statesof the respective steps setting the termination state information; andwherein: information about data processed in a step is deleted from aprocess execution state recording unit of the step when one of therespective steps for setting the termination state informationterminates and the termination state information indicates a normaltermination; and the information about the data processed in the step isadded to a process execution state recording unit of a step next to thestep.
 10. The slip data processing device according to claim 9, wherein:the plurality of the process execution state recording units arerespectively queues, and only when an execution state of informationabout the oldest data stored in the queue is a waiting state, datacorresponding to the information about the oldest data is executed inthe process step.
 11. The slip data processing device according to claim9, further comprising: a monitor unit for monitoring the acquisitiondestination of the slip data and for notifying the collection step ofinformation about slip data newly stored in the acquisition destination,wherein: the process execution unit acquires from the slip dataacquisition destination the newly stored slip data, which the collectionstep is notified about, and the collection step is executed.